How to access the built-in soundcard on Mac OS X 10.4+
Since Mac OS X 10.4 (Tiger), the built-in soundcard of the Mac is formally represented as separate
input and output devices. On the MacBook for example, there are two input devices (named Built-in
Microphone and Built-in Input) and a mutable output device (Built-in Output which appears unter the
names Line-Out or Internal Speakers in the sound preferences).
In SuperCollider, you specify your sound card in the device field of the ServerOptions (see the
help file for ServerOptions). However, you cannot distinguish between an input and an output
device. Therefore, to use your built-in microphone for input and your built-in headphones for output,
you need to create a virtual "aggregate" device (a virtual device that wraps two or more other
devices). If you create an aggregate of your microphone and headphones, you can use this single
aggregate device as a soundcard for SuperCollider. You need to set up this aggregate device only
once.
To do so, you have to open the Audio MIDI Setup application (in /Applications/Utilities)
"open -a 'Audio MIDI Setup'".unixCmd; // execute this to launch it
– you should do this from an user account with administrator privileges. From the Audio menu
choose Open Aggregate Device Editor and click on the Plus button to add a new aggregate
device. Double click on its name in the list (by default "Aggregate Device") and use a more specific
name, for example "Built-in Audio". Then check the Use column for the devices you want to combine,
that is your microphone or line input and the built-in output. Here is would it should look like:
Close the editor and quit the Audio MIDI Setup. Now you need to tell SuperCollider to use your new
aggregate device. A good place to do this is your default startup file so that SuperCollider will
automatically use the new device every time. The startup file is called startup.rtf and is placed in
the folder ~/Application Support/SuperCollider/, where "~" stands for your home folder.
If you haven't created such a file yet, create a new folder named SuperCollider in your
~/Application Support/ folder, open a new empty document in SuperCollider and save it as
startup.rtf in this new folder (~/Application Support/SuperCollider/startup.rtf).
Add these lines to the startup file:
Server.local.options.device = "Built-in Audio";
Server.internal.options.device = "Built-in Audio";
to cover both the localhost server and the internal server. Recompile the SuperCollider library
(Cmd+K). Now when booting either server, if all goes well, you should find these lines in
SuperCollider's post window:
[...]
"Built-in Audio" Input Device
[...]
"Built-in Audio" Output Device
voilà!
known issues: QuickTime (as of v7.1) has problems using the aggregate sound device (it will take a
few seconds before each sound playback starts). Therefore you probably do not want to use your new
aggregate device as your system's default device. Note that when you specify a sound device in
SuperCollider's ServerOption, there is no need to use the aggregate device as the system
preference's default device.